|
Der Einsatz von Computer-gestützten Simulationen in Wirtschaft und
Forschung nimmt seit Jahren zu. Vor dem Hintergrund stetig
steigender Rechenleistung aktueller Rechnersysteme ist ein Anhalten
dieses Trends abzusehen.
Computer-gestützte Simulationen sind Simulationen, die komplett an
einem oder mehreren Rechnern durchgeführt werden. Diese Arbeit
befasst sich lediglich mit Computer-gestützten Simulationen in der
Wissenschaft, im Folgenden der Einfachheit halber Simulationen
genannt. Eine genaue Definition des Begriffs Simulation befindet
sich in Abschnitt "2.3.1 Simulationen" dieser Arbeit.
Die Gründe für den Einsatz einer Simulation sind vielfältig. So
lassen sich Kosten sparen, indem ein Experiment simuliert wird,
statt dieses in der reellen Welt durchzuführen. In anderen Fällen
ist ein Experiment in der reellen Welt oft nicht durchführbar, z.B.
bei der Forschung in der Raumfahrt. Weiterhin bieten Simulationen
Vorteile, die bei reellen Experimenten nicht gegeben sind:
Aufwändige Vorbereitungen entfallen. Zudem werden mögliche
Unterschiede bei mehreren Wiederholungen desselben Experiments
weitgehend ausgeschlossen, da die Ausgangssituation bei einer
Simulation konstant gehalten werden kann und nicht von
Umweltparametern beeinflusst wird. Weiterhin lässt sich eine
Simulation unterbrechen und fortsetzen, oder komplett abbrechen wenn
bereits während der Simulation genug Erkenntnisse gesammelt werden
konnten. Die Auswirkungen auf die reale Welt sind minimal: Die
Simulation verursacht Kosten durch die Nutzung von Rechenressourcen.
Oft sind auch weniger Mitarbeiter in Simulationen involviert als bei
entsprechenden Ausführungen in der realen Welt.
Der Wert einer Simulation bemisst sich an der Verwertbarkeit der
Ergebnisse und der Realitätsnähe. Wenn die Ergebnisse nicht
verwertet werden können sind, hatte die Simulation keinen Sinn.
Ebenso schwindet meist der Wert einer Simulation je stärker sich
die simulierte Welt von der reellen Welt unterscheidet. Umgekehrt
steigt der Wert einer Simulation, je mehr Einflüsse aus der reellen
Umgebung in der Simulation abgebildet werden.
Aktuelle Simulationsprogramme sind meist auf einen bestimmten Zweck
hin entwickelt worden , wie z.B. die Krafteinwirkung von starkem
Wind auf ein Hallendach. Andere Simulationen bilden die Ausdehnung
bestimmter Materialien bei unterschiedlichen Temperaturen ab.
Interessant für einen Architekten sind aber nicht die
Einzelergebnisse dieser Simulationen, sondern deren kombinierte
Aussage: Wie verhält sich das Hallendach während und nach einem
plötzlichen Sommergewitter bzgl. der Temperaturschwankung und der
Krafteinwirkungen durch Regen oder Hagel und des Windes?
Die Zweckgebundenheit vieler vorhandener Simulationsprogramme hat
zur Folge, dass die Programme aus informationstechnischer Sicht
schlecht zu gekoppelten Simulationen zusammengefügt werden können.
Oft liegt es daran, dass die Programme entweder von nicht mit den
aktuellen Arbeitsweisen, Werkzeugen und Technologien der Informatik
vertrauten Personen entwickelt wurden, oder so stark für ein
bestimmtes Einsatzgebiet optimiert sind, dass sie sich schlecht
erweitern lassen.
Ein Hemmnis für den Einsatz von Simulationen ist unter anderem,
dass die Initiatoren der Simulation oft nur über eingeschränkte
Programmierkenntnisse verfügen \cite{kendall}. Dies führt dazu,
dass entweder das Programmieren erst erlernt werden muss oder auf
externe Entwickler zugegriffen werden muss. Ersteres ist meist sehr
zeitaufwändig und oft frustrierend, da in dieser Zeit keine
Forschung im eigentlichen Fachgebiet betrieben werden kann.
Letzteres resultiert in zusätzlichen Kosten und verlangsamter
Entwicklung, da ein erhöhter Kommunikationsaufwand zu erwarten ist.
Weiterhin sind Probleme und Missverständnisse zu erwarten, die
während der Kommunikation aufgrund mangelnder Expertise im
Fachgebiet des jeweiligen Gegenübers auftreten.
Motivation
Aus der oben beschriebenen Situation leiten sich verschiedene
wünschenswerte Eigenschaften von Simulationen ab. Eine
Computer-basierte Simulation soll:
- die Wirklichkeit möglichst gut abbilden
- daher viele Außeneinflüsse simulieren können
- von Wissenschaftlern mit wenig bis gar keinen
Programmierkenntnissen möglichst mit Unterstützung grafischer
Hilfsmittel erstellt werden können
- einen klar erkennbaren Ablauf verfolgen. \end{itemize}
Diese Eigenschaften können den Einsatz von Simulationen in Gebieten
fördern, in denen sie bisher wenig oder gar nicht eingesetzt
werden.
Aufgabe dieser Arbeit
Um die oben genannten Eigenschaften umzusetzen ist es wichtig, dass
vorhandene Simulationsprogramme miteinander kombiniert
weiterverwendet werden können. Eine Kombination setzt voraus, dass
vorhandene Simulationsanwendungen über standardisierte
Schnittstellen und Datenformate verfügen. Die Problemstellung
bezüglich der Datenformate ist häufig innerhalb einer
Wissenschaftsdisziplin bereits in großen Teilen gelöst. Die
Schaffung von Datenformaten für interdisziplinäre Zusammenarbeit
ist nicht Teil dieser Arbeit.
Diese Arbeit befasst sich mit der Erstellung einer einheitlichen und
möglichst generischen Schnittstelle, über die die
Simulationsprogramme angesprochen werden können. Die Kombination
der einzelnen Simulationskomponenten kann dann durch Verwendung von
Prozessmodellierungssprachen umgesetzt werden, wie zum Beispiel der
Business Process Execution Language (BPEL), beschrieben in Abschnitt
2.2.4.
Die Schnittstelle soll möglichst abstrakt und
plattformübergreifend gehalten sein, daher werden für die
Implementierung der Ziele dieser Arbeit Web Services für die
Schnittstelle verwendet, die in Abschnitt 2.1.2 erläutert werden.
Die Web Services Description Language (WSDL), beschrieben in
Abschnitt 2.1.2, erlaubt die abstrakte Beschreibung von
Schnittstellen sowie die konkrete Angabe von Adressierung und
Kommunikationsparametern von Implementierungen dieser
Schnittstellen.
Weiterhin soll die Schnittstelle eine grafische Erstellung komplexer
Simulationen unterstützen. Das grafische Modellierungswerkzeug ist
jedoch nicht Aufgabe dieser Arbeit.
Neben der Schnittstelle selbst soll eine Laufzeitumgebung erstellt
werden, in der die Schnittstelle, die verwendeten
Simulationsanwendungen, sowie die Workflow-Umgebung ausgeführt
werden können.
|